﻿using com.nm.Attributes;
using com.nm.library;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PlanAPI.model
{
    /// <summary>
    /// 小品类到价格带SKC数量Model
    /// </summary>
    public class PLItemColorSkcModel
    {

        /// <summary>
        /// 小品类到价格带SKC数量Model--显示实体
        /// </summary>
        public class ListModel : BasicModel
        {
            [ParamDescription("零售分区")]
            public string ParentAreaName { get; set; }
            [ParamDescription("店铺")]
            public string ShopName { get; set; }
            [ParamDescription("店铺Code")]
            public string ShopCode { get; set; }
            [ParamDescription("类别")]
            public string KindName { get; set; }
            [ParamDescription("系列")]
            public string SeriesName { get; set; }
            [ParamDescription("品类")]
            public string ModelName { get; set; }
            [ParamDescription("小品类")]
            public string ItemName { get; set; }
        }

        /// <summary>
        /// 小品类到价格带SKC数量Model--基本实体
        /// </summary>
        public class BasicModel
        {
            [ParamDescription("数据来源")]
            public string ExtrSource { get; set; } = UserInfo.UserExtrSource;
            [ParamDescription("公司代码")]
            public string CompanyID { get; set; } = UserInfo.UserCompanyId;
            [ParamDescription("年份")]
            public long? Yearv { get; set; }
            [ParamDescription("月份")]
            public long? Monthv { get; set; }
            [ParamDescription("零售分区")]
            public string ParentAreaID { get; set; }
            [ParamDescription("店铺ID")]
            public string ShopID { get; set; }
            [ParamDescription("店铺等级")]
            public string ShopLevel { get; set; }
            [ParamDescription("类别")]
            public string KindID { get; set; }
            [ParamDescription("系列")]
            public string SeriesID { get; set; }
            [ParamDescription("商品层")]
            public string MaterialProperty { get; set; }
            [ParamDescription("品类")]
            public string ModelID { get; set; }
            [ParamDescription("小品类")]
            public string ItemID { get; set; }
            [ParamDescription("周")]
            public int Weekv { get; set; }
            [ParamDescription("SKC数")]
            public int CkSKCQty { get; set; }
            [ParamDescription("SKC数合计")]
            public int TotalQty { get; set; }
            [ParamDescription("价格带或者颜色")]
            public string PriceColorName { get; set; }

            [ParamDescription("价格带或者颜色类型")]
            public int PriceOrColor { get; set; } = 1;
            [ParamDescription("价格带占比(%)或者颜色占比")]
            public decimal CkPtStandAmountRate { get; set; }
            [ParamDescription("计算SKC数")]
            public decimal CalcQty { get; set; }
            [ParamDescription("计算结果")]
            public int RoundQty { get; set; }
            [ParamDescription("差额")]
            public decimal DiffValue { get; set; }
            [ParamDescription("增加/扣减")]
            public int AddQty { get; set; }
            [ParamDescription("SKC数")]
            public int PriceColorSKCQty { get; set; }
            [ParamDescription("小品类深度")]
            public int DeepQty{ get; set; }
            [ParamDescription("修改时间")]
            public DateTime? MofifyDTM { get; set; } = DateTime.Now;

            [ParamDescription("共性款/差异款")]
            public int DataFlag { get; set; }
        }

        public class ModifyModel
        {
            public IList<ListModel> list { get; set; }
        }

        /// <summary>
        /// 小品类到价格带SKC数量Model--创建实体
        /// </summary>
        /// Create Date：2017-04-17
        public class CreatModel : ListModel
        {
            [ParamDescription("公司代码")]
            public string CompanyID { get; set; }
            [ParamDescription("审核人")]
            public string Checker { get; set; }
            [ParamDescription("允许使用")]
            public long? AllowUsed { get; set; }
            [ParamDescription("新增记录标记")]
            public long? AddFlag { get; set; }
            [ParamDescription("修改时间")]
            public DateTime? MofifyDTM { get; set; }
            [ParamDescription("读取时间")]
            public DateTime? LoadTime { get; set; }
            [ParamDescription("修改时间")]
            public DateTime? EtlDate { get; set; }
        }
    }


}
